package com.sloydev.preferator.editor;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.EditText;
import android.widget.FrameLayout;
import com.sloydev.preferator.R;
public class StringPrefEditor extends FrameLayout {
private EditText valueView;
private OnStringValueChangeListener onStringValueChangeListener;
public StringPrefEditor(Context context) {
this(context, null);
}
public StringPrefEditor(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public StringPrefEditor(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
LayoutInflater.from(getContext()).inflate(R.layout.item_editor_string, this, true);
valueView = (EditText) findViewById(R.id.pref_value);
valueView.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if (onStringValueChangeListener != null) {
onStringValueChangeListener.onValueChange(charSequence.toString());
}
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
}
});
}
public void setValue(String value) {
valueView.setText(value);
}
public String getValue() {
return valueView.getText().toString();
}
public void setOnStringValueChangeListener(OnStringValueChangeListener onStringValueChangeListener) {
this.onStringValueChangeListener = onStringValueChangeListener;
}
public interface OnStringValueChangeListener {
void onValueChange(String newValue);
}
}